1. Field of the Invention
The present invention relates to a communication apparatus, a communication method, and a computer program for performing data transfers in accordance with the layer 2 protocols of the OSI (Open Systems Interconnection) reference model. More particularly, the invention relates to a communication apparatus, a communication method, and a computer program for carrying out data transfers over network paths from the transmitting side to the receiving side in the layer 2 network environment.
2. Description of the Related Art
According to the OSI reference model, which is a design principle established by the International Organization for Standardization (ISO) regarding network structures, communication functions are divided into seven layers. Of these layers, layer 2 is a data link layer that corresponds to the protocol stipulating signal transfers between communication apparatuses connected directly or adjacently. The data link layer addresses service requests from upper layers such as TCP/IP and requests services from the physical layer immediately below. Typical layer 2 protocols include Ethernet (registered trademark) and token ring.
Layer 2 is subdivided into a logical link control (LLC) sub-layer and a media access control (MAC) sub-layer below it. Layer 2 has no path control function. The layer 2 network is thus limited to within the same network address. The layer 2 network may also be considered a network limited to within the range in which MAC addresses can be obtained using ARP (Address Resolution Protocol) commands or within a broadcast domain.
In recent years, increasing quantities of transmission content have necessitated adopting larger bandwidths typically ranging from 40 to 100 Gbps. Commercially, however, reasonably priced communication media having bandwidths of about 10 Gbps are accepted extensively today. It is thus difficult for a single communication link adequately to address demands that presuppose the use of wider broadband setups. As a solution to the demands for handling the broadband-ready content, the inventors of the present invention envisage aggregating communication likes of lesser technical requirements for applications of 10 Gbps or thereabout in such a manner as to provide performance exceeding 40 Gbps.
Aggregating multiple communication links corresponds to the techniques called “multi-link” and “link aggregation.” For example, there exist technical proposals regarding a multi-link communication method that statically provides paths each handling a plurality of external communications on the network layer in a manner allowing both the transmitting and the receiving sides to aggregate communications carried out per external connection path, the method further offering the aggregated communications as a single communication to the application layer (see Japanese Patent Laid-open No. 2001-60956).
Within the broadcast domain, multi-link need only be implemented based on the network protocols on or under layer 2 (e.g., MAC layer). According to definitions in the typical standards regarding network multi-link technology “IEEE 802.1 AX-2008 Link Aggregation,” link aggregation allows one or more links to be aggregated together to form a Link Aggregation Group, such that a Media Access Control (MAC) Client can treat the Link Aggregation Group as if it were a single link.
Also according to the above-mentioned standards, Link Aggregation allows the establishment of full duplex point-to-point links that have a higher aggregation bandwidth than the individual links that form the aggregation. This allows improved utilization of available links in bridged LAN environments, along with improved resilience in the face of failure of individual links.
However, the above standards stipulate constraints on segmentation techniques and on modification of transmitted frames. For this reason, multi-link transfers of the same conversation are not available. Also, the standards do not permit multi-link transfers between Ethernet (registered trademark) switches or between an Ethernet switch and a destination communication apparatus.
Further according to the above standards, in the interests of simplicity and scalability, the connection function (on the layer 2 network) should not perform reassembly functions, reorder received frames, or modify received frames. Distribution functions, therefore, do not make use of segmentation techniques, do not label or otherwise modify transmitted frames in any way, and must operate in a manner that will inherently ensure proper ordering of received frames with the specified Collector.
In the current context, “conversion” corresponds to a session under TCP and is equivalent to a single stream effected by an application having a single purpose. For example, a conversion may be defined by a combination of a destination IP address with a destination port number. Traditionally, links and clients correspond to one another on a one-to-one basis. It is not assumed that a client uses multiple links. Since segmentation techniques are subject to constraint, one stream cannot be divided into multiple links (i.e., multi-linked).
Thug according to the link aggregation technique stipulated by the standards above, it is difficult to improve throughput per conversation.
In communication system configurations such as an ordinary server-client model whereby numerous clients are connected to a single server, the total throughput of multiple conversations need only be enhanced. That is, each conversation is connected to a link, and the conversation is not divided and distributed to a plurality of links. In this case, the link aggregation defined by the above standards apply unmodified.
In a server-client type network system illustrated in FIG. 10, an application (AP) operating on the server side is connected to a plurality of clients C1, C2, C3, etc., via a plurality of links through a network interface card (NIC) and a layer 2 switch. When the application requests each client C1, C2, C3, etc., to transfer a plurality of conversations (a, b, c, etc.), each conversation is distributed to a single link.
Meanwhile, in the broadcasting and the motion picture industries where super-size contents need to be transferred over networks, high throughput is required per conversation. However, this requirement is not met by the link aggregation stipulated by the standards above having no provisions for dividing each conversation into parts to be distributed to multiple links.
For example, in a server-client type network system illustrated in FIG. 11, a server is connected to clients via a plurality of links through layer 2 switches #1 and #2. Where the server is to transmit a super-size content “a” to the clients, it might be desired for the content “a” to be divided into a plurality of segments a1, a2, a3, etc., that might be distributed over the links. If that were the case, the links might be aggregated to constitute a broadband setup. However, according to the above standards, such link aggregation is not available due to the constraints on the reassembly functions, on reordering of received frames and on segmentation techniques.